/*
exit 库函数  通过man 3 查看
#include <stdlib.h>

void exit(int status);

 * 功能：exit是一个库函数，用来退出一个进程，在退出进程时会刷新缓冲区
 * 参数：在 子进程 结束的时候，用来将退出的状态返回给父进程   将这个值 & 0377 返回给 父进程
 	在exit 函数中定义了两个宏 分别是 EXIT_SUCCESS 0  表示成功  EXIT_FAILURE 1 表示失败
    #define	EXIT_FAILURE	1	/Failing exit status./
    #define	EXIT_SUCCESS	0	/Successful exit status./
 * 返回值 无


_exit 系统调用 通过man 2查看
#include <unistd.h>
    
 void _exit(int status);
 * 功能：exit是一个库函数，用来退出一个进程，在退出进程时不会刷新缓冲区
 * 参数：在 子进程 结束的时候，用来将退出的状态返回给父进程   将这个值 & 0377 返回给 父进程
 	在exit 函数中定义了两个宏 分别是 EXIT_SUCCESS 表示成功  EXIT_FAILURE 表示失败
 * 返回值 无

区别总结  
    库函数的exit 会刷新缓冲区  _exit 不会刷新缓冲区
*/

#include <stdio.h>
#include <unistd.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <stdlib.h>


int main(int argc, char const *argv[])
{
    printf("hello");
    exit(EXIT_SUCCESS);
    // 会打印
    return 0;
}

int main(int argc, char const *argv[])
{
    printf("hello");
    _exit(EXIT_SUCCESS);
    // 不会打印
    return 0;
}